Private automatic branch exchanges are well known in the telephone communications industry. These devices interface incoming telephone lines from a public telephone utility service with multiple communication devices within a facility. These communication devices include telephones, facsimile transmission machines, and other telephone communication devices. The PABX uses digital information provided by the public telephone utility that is associated with the incoming call to route the call within the facility and to monitor the call as well as perform other control functions. The control functions performed by a PABX are generally considered to be primitive and not very extensive.
Prior PABXs have been provided with the capability of interfacing with a computer system. In a facility where there are numerous communication devices that couple to the telephone utility through the PABX, the telephone communications consumer could program a computer system to send data to the PABX to perform higher level telephony control of the telephone communications within the facility. To do so, the consumer had to expend considerable time and effort to develop a computer program that implemented the telephony control functions that the consumer envisioned. Additionally, the computer program would have to provide telephony control messages to the PABX in a protocol specific to the PABX being used. Such a computer system and program requires an extensive amount of resources to develop and to maintain. Also, if the facility decided to obtain a PABX that used a different protocol, the existing telephony control program would have to be scrapped. As a consequence, only large users of telephone communication services undertook such a task.
Recognizing that the higher level functions achieved by the custom programs were desirable in smaller installations, customized telephony servers were developed for providing a set of predetermined telephony functions for a particular vendor's PABX. In this system, the telephony server would be interposed between the PABX and computers or the like to utilize the digital information available from the PABX. The telephony server would communicate with the PABX in the manufacturer's protocol to glean information regarding telephone calls that could be used by the computer. The computer would use the information to access data needed by the recipient of the telephone call which was routed through the PABX. In this manner, data could be displayed on the computer screen as the telephone call was being answered.
Two disadvantages are present in the previously known telephony servers. First, the telephony servers were developed to communicate in a particular PABX protocol and to interface with a particular vendor's PABX. As a consequence, a facility that desired the functionality of a telephony server would also have to purchase a PABX that utilized the protocol for which the telephony server was designed. Second, previously known telephony servers required the computer to communicate with the telephony server in the PABX protocol. Thus, each computer station had to have the processing capability necessary to generate the appropriate telephony control commands required by the PABX. Further, to ensure that the status information generated by the PABX was sent to the correct computer station, the telephony server used the physical addresses of the computer stations. This caused the disadvantage that each computer could only receive status information related to its physical address which could not be easily altered.
Another problem associated with previously known telephony servers is the limitation that they arbitrate access to the PABX for a number of computers in a facility and do not generate the PABX commands for a telephony control event. Rather, each computer communicated with the PABX through the telephony server to cause the telephony control event. Because a high level telephony control event requires several PABX commands as well as monitoring communication device status through the PABX, the computer had to perform interactive processing with the PABX to achieve the desired higher level function through the telephony server. If the computer was on a token ring network or some other type of network arrangement that coupled many computers together and to the telephony server, the telephony data message traffic generated by the computers may increase to a point that interferes with other communication between the computers or that limits the number of devices that may be coupled to the network.
What is needed is a telephony server that does not require a computer to communicate with a PABX in a vendor specific protocol. What is needed is a telephony server that obtains status information or controls a PABX without extensive message traffic from a computer.